package com.company;

import java.lang.Class;

public class L_New_Student implements Cloneable {
    // 实现Cloneable接口
    private String name;
    private int age;
    public L_New_Student(String name, int age) {
        // 构造函数
        this.name = name;
        this.age = age;
    }

    public String toString() {
        return "学生名字：" + name + ", 年龄：" + age;
    }

    public static void main(String[] args) throws Exception{
        // 使用main方法 throws Exception
        // 来解决下面报错问题
        /**
         *Error:(26, 33) java: 未报告的异常错误java.lang.ClassNotFoundException; 必须对其进行捕获或声明以便抛出
         * Error:(28, 58) java: 未报告的异常错误java.lang.InstantiationException; 必须对其进行捕获或声明以便抛出
         * Error:(33, 51) java: 未报告的异常错误java.lang.CloneNotSupportedException; 必须对其进行捕获或声明以便抛出
         */
        System.out.println("---------使用 new 关键字创建对象---------");
        L_New_Student st1 = new L_New_Student("Ken", 22);
        System.out.println(st1);

        System.out.println("-----------调用 java.lang.Class 的 newInstance() 方法创建对象-----------");
        //调用 java.lang.Class 的 newInstance() 方法创建对象
        Class cl = Class.forName("L_New_Student");

        L_New_Student st2 = (L_New_Student)cl.newInstance();
        System.out.println(st2);
        System.out.println("-------------------调用对象的 clone() 方法创建对象----------");

        //调用对象的 clone() 方法创建对象
        L_New_Student st3=(L_New_Student)st2.clone();
        System.out.println(st3);
    }
}
